namespace Yaaf.WP7.NativeAccess.ComWrapper.LG.COM_NewSysInfoComDLL
{
    using System.Runtime.InteropServices;
    using System.Text;

    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("1BE148C3-F0A5-4b5e-965E-14EC1C27C20B")]
    internal interface IEGMInterface
    {
        void GetBetteryLifePercent(out byte betteryLifePercent);
        void getMemoryInfo(out double StorageTotal, out double StorageUse, out double ProgramTatol, out double ProgramUse);
        void RegSetValueDWORD(out int in_Key, string in_SubKey, string in_Name, out uint in_Data, out int out_Errcode);
        void RegGetValueDWORD(out int in_Key, string in_SubKey, string in_Name, out uint out_Data, out int out_Errcode);
        void RegSetValueSZ(out int in_Key, string in_SubKey, string in_Name, string in_Data, out int out_Errcode);
        void RegGetValueSZ(out int in_Key, string in_Subkey, string in_Name, out uint in_Length, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder out_Data, out int out_Errcode);
        void RegGetLengthSZ(out int in_Key, string in_Subkey, string in_Name, out uint out_Length, out int out_Errcode);
        void SysInfoStatusGet(out int bResult, out int errcode);
        void BootMenuSettings(out int bootMenuValue, out int retValue, out int retCode);
        void BandSettingStatus(out int bResult, out int errcode);
        void SystemTimeSet(out _TIMESTRUCT timeInfo, out int errorcode);
        void SystemTimeGet(out _TIMESTRUCT timeInfo, out int errorcode);
    }
}